using System; 
using System.Collections.Generic; 
using System.Linq; 
using System.Text; 
using System.Threading.Tasks; 
using System.Data; 
using System.Data.SqlClient; 
using System.Data.SqlTypes; 
using SolucionUtiles; 
using SolucionEntidad; 
namespace SolucionDatos 
{ 
   public class DominioDao 
    { 
        private SqlConnection cn; 
        public DominioDao(SqlConnection cn) 
        { 
           this.cn = cn; 
        } 
        public void insert(Dominio obj)
        { 
           SqlCommand command = new SqlCommand("INSERT INTO dominio " + 
           "(idDominio,descripcionDominio,valorDominio,estado,fechaRegistro) VALUES" + 
           "(@idDominio,@descripcionDominio,@valorDominio,@estado,@fechaRegistro)", this.cn); 

command.Parameters.Add(new SqlParameter("@idDominio", obj.idDominio)); 
command.Parameters.Add(new SqlParameter("@descripcionDominio", obj.descripcionDominio)); 
command.Parameters.Add(new SqlParameter("@valorDominio", obj.valorDominio)); 
command.Parameters.Add(new SqlParameter("@estado", obj.estado)); 
command.Parameters.Add(new SqlParameter("@fechaRegistro", obj.fechaRegistro)); 
command.ExecuteNonQuery(); 
} 
  		public void update(Dominio obj) 
    	{ 
        	SqlCommand command = new SqlCommand("UPDATE Dominio " + 
			" SET " + 
"descripcionDominio=@descripcionDominio" + 
",valorDominio=@valorDominio" + 
",estado=@estado" + 
",fechaRegistro=@fechaRegistro" + 
 " WHERE " + 
"idDominio=@idDominio" 
,this.cn); 
command.Parameters.Add(new SqlParameter("@idDominio", obj.idDominio)); 
command.Parameters.Add(new SqlParameter("@descripcionDominio", obj.descripcionDominio)); 
command.Parameters.Add(new SqlParameter("@valorDominio", obj.valorDominio)); 
command.Parameters.Add(new SqlParameter("@estado", obj.estado)); 
command.Parameters.Add(new SqlParameter("@fechaRegistro", obj.fechaRegistro)); 
command.ExecuteNonQuery(); 
} 
       public void delete(Dominio obj){ 
SqlCommand command = new SqlCommand("DELETE FROM dominio WHERE "  
 +"idDominio=@idDominio" 
, this.cn); 
command.Parameters.Add(new SqlParameter("@idDominio", obj.idDominio)); 
command.ExecuteNonQuery(); 
} 
        public Dominio get(Dominio obj) 
{ 
   Dominio record = null; 
    SqlCommand command = new SqlCommand("SELECT idDominio,descripcionDominio,valorDominio,estado,fechaRegistro FROM dominio where " 
 +"idDominio=@idDominio" 
, this.cn); 
command.Parameters.Add(new SqlParameter("@idDominio", obj.idDominio)); 

    SqlDataReader dr = command.ExecuteReader();
dr.Read(); 
record = new Dominio(); 
if (dr["idDominio"] == DBNull.Value) { record.idDominio = SqlInt32.Null; } else { record.idDominio = (Int32)dr["idDominio"]; } 
if (dr["descripcionDominio"] == DBNull.Value) { record.descripcionDominio = SqlString.Null; } else { record.descripcionDominio = (String)dr["descripcionDominio"]; } 
if (dr["valorDominio"] == DBNull.Value) { record.valorDominio = SqlString.Null; } else { record.valorDominio = (String)dr["valorDominio"]; } 
if (dr["estado"] == DBNull.Value) { record.estado = SqlString.Null; } else { record.estado = (String)dr["estado"]; } 
if (dr["fechaRegistro"] == DBNull.Value) { record.fechaRegistro = SqlString.Null; } else { record.fechaRegistro = (String)dr["fechaRegistro"]; } 
this.cn.Close(); 
return record; 
} 
     public List<Dominio> getList() 
{ 
   List<Dominio> list = new List<Dominio>(); 
    SqlCommand command = new SqlCommand("SELECT idDominio,descripcionDominio,valorDominio,estado,fechaRegistro FROM dominio", this.cn); 
    SqlDataReader dr = command.ExecuteReader(); 
    while (dr.Read()) 
    { 
Dominio obj = new Dominio(); 
if (dr["idDominio"] == DBNull.Value) { obj.idDominio = SqlInt32.Null; } else { obj.idDominio = (Int32)dr["idDominio"]; } 
if (dr["descripcionDominio"] == DBNull.Value) { obj.descripcionDominio = SqlString.Null; } else { obj.descripcionDominio = (String)dr["descripcionDominio"]; } 
if (dr["valorDominio"] == DBNull.Value) { obj.valorDominio = SqlString.Null; } else { obj.valorDominio = (String)dr["valorDominio"]; } 
if (dr["estado"] == DBNull.Value) { obj.estado = SqlString.Null; } else { obj.estado = (String)dr["estado"]; } 
if (dr["fechaRegistro"] == DBNull.Value) { obj.fechaRegistro = SqlString.Null; } else { obj.fechaRegistro = (String)dr["fechaRegistro"]; } 
list.Add(obj); 
} 
return list; 
} 
} 
} 
